package com.test.application.initData.demo2;

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

import java.util.HashMap;

/**
 * 描述: 初始化加载数据到内存
 * 方式二: 实现接口CommandLineRunner
 * 作者: yanruizhi
 * 时间: 2024/9/19 15:49
 */
@Component
@Order(1)
@Slf4j
public class DataInit2 implements CommandLineRunner {
    private static final HashMap<Integer, String> initMap = new HashMap<>();

    // 该方法里加载数据,该方法会在项目启动时执行
    @Override
    public void run(String... args) throws Exception {
        log.info("CommandLineRunner 开始初始化加载数据到内存......");
        initMap.put(1, "胡歌");
        initMap.put(2, "张学友");
        initMap.put(3, "周杰伦");
        initMap.put(4, "霍建华");
        log.info("CommandLineRunner 初始化加载数据到内存完成......");
    }

    public static String getName(Integer id) {
        return initMap.get(id);
    }
    public static HashMap<Integer, String> getAll() {
        return initMap;
    }
}
